# coding=utf-8
"""
    @project: 15python_spider
    @Author：frank
    @file： 01_xpath_exercise.py
    @date：2024/1/8 22:18
"""
from lxml import etree

html = '''<div class="wrapper">
    <i class="iconfont icon-back" id="back"></i>
    <a href="/" id="channel">新浪社会</a>
    <ul id="nav">
        <li><a href="http://domestic.firefox.sina.com/" title="国内">国内</a></li>
        <li><a href="http://world.firefox.sina.com/" title="国际">国际</a></li>
        <li><a href="http://mil.firefox.sina.com/" title="军事">军事</a></li>
        <li><a href="http://photo.firefox.sina.com/" title="图片">图片</a></li>
        <li><a href="http://society.firefox.sina.com/" title="社会">社会</a></li>
        <li><a href="http://ent.firefox.sina.com/" title="娱乐">娱乐</a></li>
        <li><a href="http://tech.firefox.sina.com/" title="科技">科技</a></li>
        <li><a href="http://sports.firefox.sina.com/" title="体育">体育</a></li>
        <li><a href="http://finance.firefox.sina.com/" title="财经">财经</a></li>
        <li><a href="http://auto.firefox.sina.com/" title="汽车">汽车</a></li>
    </ul>
    <i class="iconfont icon-liebiao" id="menu"></i>
</div>'''

parse_html = etree.HTML(html)
# 问题1 ：获取所有a节点的文本内容
a_text_list = parse_html.xpath('//a/text()')
print(a_text_list)

# 问题2：获取所有a节点的href的属性值
a_href_list = parse_html.xpath("//a/@href")
print(a_href_list)

# 问题3: 获取所有a节点的href的属性值,但是不包括/
a_href_not_list = parse_html.xpath('//ul[@id="nav"]//a/@href')
print(a_href_not_list)

# 问题4: 获取 图片、军事、....，不包括新浪社会
a_new_list = parse_html.xpath('//ul[@id="nav"]//a/text()')
print(a_new_list)
